/**
 * Omit 原理
 * 1. Pick 选取对象中的某些属性
 * 2. Exclude 排除对象中的某些属性
 * 3. keyof 获取对象中的所有属性
 * 4. extends 约束类型
 * 5. any 表示任意类型
 * 6. Pick<T, K extends keyof any> 表示从 T 中选取 K 中存在的属性
 * 7. Exclude<keyof T, K> 表示从 T 中排除 K 中存在的属性
 * 8. IOmit<T, K extends keyof any> 表示从 T 中排除 K 中存在的属性，并返回一个新的对象
 *
 */

type IOmit<T, K extends keyof any> = Pick<T, Exclude<keyof T, K>>;
